MongoDB Replication একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা MongoDB ডেটাবেসের ডেটার কপি তৈরি করে এবং সেগুলি একাধিক সার্ভারে বিতরণ করে। এর মাধ্যমে ডেটাবেসের হাই অ্যাভেইলেবিলিটি (High Availability), রেডানডেন্সি (Redundancy), এবং ফেইলওভার (Failover) নিশ্চিত করা হয়। MongoDB Replication ডেটাবেসের একটি মূল সার্ভার এবং এক বা একাধিক রেপ্লিকা সার্ভার ব্যবহার করে, যাতে ডেটার নিরাপত্তা এবং অ্যাভেইলেবিলিটি বাড়ানো যায়।
MongoDB তে Replication ব্যবহৃত হয় যখন আপনার ডেটাবেসে ডেটার কপি তৈরি করতে চান এবং সার্ভারের মধ্যে ডেটা সিঙ্ক্রোনাইজ রাখতে চান।
MongoDB Replication তে প্রধানত তিনটি উপাদান থাকে:
MongoDB তে Replication কনফিগার করতে রেপ্লিকা সেট ব্যবহার করা হয়, যা একাধিক সার্ভারের একটি গ্রুপ। এখানে একটি সাধারণ রেপ্লিকা সেট কনফিগারেশনের স্টেপ দেওয়া হলো।
Replica Set কনফিগার করা
MongoDB রিপ্লিকা সেট কনফিগার করার জন্য, আপনার Primary সার্ভারে নিম্নলিখিত কমান্ডটি রান করতে হবে:
rs.initiate()
Secondary সার্ভার যোগ করা
Secondary সার্ভারটি রিপ্লিকা সেটে যোগ করতে, Primary সার্ভারে নিম্নলিখিত কমান্ডটি রান করুন:
rs.add("secondaryHostName:port")
Replica Set এর স্ট্যাটাস চেক করুন
Replica Set এর স্ট্যাটাস দেখতে:
rs.status()
MongoDB Replication হল MongoDB ডেটাবেসের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটার রেডানডেন্সি, হাই অ্যাভেইলেবিলিটি এবং ফেইলওভার নিশ্চিত করে। Replication ব্যবহারের মাধ্যমে ডেটার একাধিক কপি বিভিন্ন সার্ভারে সংরক্ষিত থাকে, যা ডেটার নিরাপত্তা এবং পারফরম্যান্স বাড়ায়। MongoDB তে Replication ব্যবহার করে ডেটা সিঙ্ক্রোনাইজেশন, রিড এবং রাইট অপারেশন সহজ এবং দ্রুত করা যায়। এটি ডেটাবেসের ব্যবস্থাপনাকে আরও কার্যকরী ও স্থিতিশীল করে তোলে।
Replication MongoDB এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটাবেসের ডেটার রেডানডেন্সি (Redundancy) এবং অ্যাভেইলেবিলিটি (Availability) নিশ্চিত করে। MongoDB তে রেপ্লিকেশন একটি প্রক্রিয়া, যেখানে ডেটা একাধিক সার্ভারে কপি করা হয়। এই কপি করা সার্ভারগুলোকে Replica Set বলা হয়। Replica Set এর মাধ্যমে MongoDB ডেটাবেসের ডেটা বিভিন্ন সার্ভারে রাখা হয় এবং একটিও সার্ভার ডাউন হলেও ডেটা অ্যাক্সেস করা সম্ভব হয়।
MongoDB তে রেপ্লিকেশন প্রক্রিয়ায় এক বা একাধিক secondary সার্ভার থাকে যেগুলো মূল primary সার্ভারের ডেটার কপি রাখে। যখন primary সার্ভারে ডেটা আপডেট হয়, তখন সেই পরিবর্তনগুলি secondary সার্ভারে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ হয়। এতে ডেটা সুরক্ষিত থাকে এবং সার্ভারের হালনাগাদ অবস্থা সর্বদা ঠিক থাকে।
MongoDB তে রেপ্লিকেশন কাজ করে replica set এর মাধ্যমে। একটি replica set কমপক্ষে তিনটি সার্ভার নিয়ে গঠিত হয়: একটি primary সার্ভার এবং দুটি বা তার বেশি secondary সার্ভার।
MongoDB তে replication একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটা রেডানডেন্সি এবং অ্যাভেইলেবিলিটি নিশ্চিত করে। রেপ্লিকেশন দ্বারা MongoDB ডেটাবেসের ডেটা একাধিক সার্ভারে কপি করা হয় এবং একটিও সার্ভার ডাউন হলেও ডেটা অ্যাক্সেস করা সম্ভব হয়। এটি ডেটার সুরক্ষা, লোড ব্যালান্সিং এবং হাই অ্যাভেইলেবিলিটি নিশ্চিত করার জন্য অপরিহার্য। MongoDB তে রেপ্লিকেশন ব্যবহারের মাধ্যমে আপনি পারফরম্যান্স উন্নত করতে এবং সিস্টেমের স্থিরতা বজায় রাখতে সক্ষম হবেন।
Replica Set হল MongoDB এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটাবেসের উচ্চ অ্যাভেইলেবিলিটি এবং রেডানডেন্সি নিশ্চিত করে। এটি MongoDB তে ডেটার কপি তৈরি করে এবং ডেটাবেস সার্ভারগুলির মধ্যে একাধিক কপি বজায় রাখে, যার মাধ্যমে সার্ভার ডাউন হলে অন্য সার্ভারটি ডেটা সরবরাহ করতে সক্ষম হয়। MongoDB Replica Set ব্যবহারকারীদের জন্য ডেটা সুরক্ষা এবং হাই অ্যাভেইলেবিলিটি প্রদান করে, যা ব্যবসায়িক ক্রিয়ার জন্য অত্যন্ত গুরুত্বপূর্ণ।
MongoDB Replica Set সাধারণত তিনটি বা তার বেশি সার্ভার নিয়ে গঠিত হয়:
MongoDB Replica Set এ যদি প্রাইমারি সার্ভার ব্যর্থ হয়, তাহলে একটি নতুন প্রাইমারি নির্বাচিত করতে নির্বাচন প্রক্রিয়া চালানো হয়। এই প্রক্রিয়ায় Replica Set এর সেকেন্ডারি সার্ভারগুলি নিজেদের মধ্যে ভোট দেয় এবং যে সার্ভার সবচেয়ে বেশি ভোট পায়, সেটি নতুন প্রাইমারি হিসেবে নির্বাচিত হয়।
MongoDB Replica Set হল একটি ডিস্ট্রিবিউটেড ডেটাবেস আর্কিটেকচার যা ডেটার রেডানডেন্সি, হাই অ্যাভেইলেবিলিটি এবং রেপ্লিকেশন নিশ্চিত করে। Replica Set তে একাধিক সার্ভার থাকে, যার মধ্যে একটি প্রাইমারি সার্ভার এবং এক বা একাধিক সেকেন্ডারি সার্ভার থাকে। ডেটার রেপ্লিকেশন প্রক্রিয়া এবং অটোমেটিক ফেইলওভার ব্যবস্থার মাধ্যমে MongoDB ডেটাবেস সিস্টেমটি উচ্চ পারফরম্যান্স এবং সুরক্ষিত থাকে। Replica Set MongoDB তে ডেটার অবিচ্ছিন্নতা এবং দুর্বলতা রোধ করতে গুরুত্বপূর্ণ ভূমিকা পালন করে।
MongoDB তে Primary এবং Secondary Nodes দুটি গুরুত্বপূর্ণ কম্পোনেন্ট যা Replica Set ব্যবস্থায় ব্যবহৃত হয়। Replica Set হলো MongoDB এর একটি ফিচার যা ডেটাবেসের ডেটার হাই অ্যাভেইলেবিলিটি এবং রেডানডেন্সি নিশ্চিত করে। এটি MongoDB ডেটাবেস ক্লাস্টারে একাধিক সার্ভারের মধ্যে ডেটার কপি তৈরি করে, যাতে সার্ভার বা নোড ব্যর্থ হলেও ডেটা পুনরুদ্ধার করা যায় এবং সিস্টেমের কার্যক্রম চালু থাকে।
Replica Set-এ তিনটি বা তার বেশি MongoDB সার্ভার থাকতে পারে, যেখানে Primary এবং Secondary Nodes গুরুত্বপূর্ণ ভূমিকা পালন করে।
Primary Node হল MongoDB Replica Set-এ প্রধান সার্ভার, যা সমস্ত লেখা (write) অপারেশন পরিচালনা করে। যখন ডেটা ইনসার্ট, আপডেট বা ডিলিট করা হয়, তখন এই পরিবর্তনগুলি Primary Node এ ঘটে। Primary Node-এ সমস্ত লেখার কাজ হওয়ার পর, তা স্বয়ংক্রিয়ভাবে Secondary Nodes-এ কপি হয়।
Secondary Nodes হল Replica Set-এ সেই সার্ভারগুলো যা Primary Node-এর কপি ধারণ করে এবং শুধুমাত্র read অপারেশন পরিচালনা করতে ব্যবহৃত হয়। Secondary Nodes মূলত Primary Node থেকে ডেটা কপি করে এবং সেগুলির মধ্যে সিঙ্ক্রোনাইজেশন বজায় রাখে।
বৈশিষ্ট্য | Primary Node | Secondary Node |
---|---|---|
ভূমিকা | লেখার অপারেশন পরিচালনা করে | পঠন (read) অপারেশন পরিচালনা করে |
ডেটা পরিবর্তন | সমস্ত ডেটা পরিবর্তন (insert, update, delete) এখানে হয় | শুধুমাত্র ডেটা কপি/রিপ্লিকেট হয় |
রিপ্লিকেশন | Secondary Nodes-এ ডেটা কপি/রিপ্লিকেট করে | Primary Node-এর পরিবর্তন কপি করে |
অপারেশন | লেখার অপারেশন (write operations) | পড়ার অপারেশন (read operations) |
হাই অ্যাভেইলেবিলিটি | Replica Set-এ একটি থাকে, নির্বাচন (election) প্রক্রিয়া থেকে নতুন Primary নির্বাচিত হয় | একাধিক থাকতে পারে এবং নির্বাচিত Primary থেকে ডেটা সিঙ্ক্রোনাইজ হয় |
MongoDB তে Primary এবং Secondary Nodes Replica Set এর মধ্যে ডেটার রেডানডেন্সি এবং হাই অ্যাভেইলেবিলিটি নিশ্চিত করে। Primary Node সমস্ত লেখার কাজ পরিচালনা করে, এবং Secondary Nodes শুধুমাত্র পঠন (read) অপারেশন পরিচালনা করে, সেগুলি Primary Node থেকে ডেটা কপি করে সিঙ্ক্রোনাইজ থাকে। এই ব্যবস্থাটি MongoDB কে ডিস্ট্রিবিউটেড এবং স্কেলেবল ডেটাবেস হিসেবে তৈরি করে, যা বড় পরিসরের ডেটাবেসে কার্যকরীভাবে কাজ করে।
MongoDB Replica Set এবং Read Preference দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা MongoDB এর হাই অ্যাভেইলেবিলিটি এবং পারফরম্যান্স নিশ্চিত করতে সহায়তা করে। Replica Set Failover এবং Read Preference ব্যবহৃত হয় ডেটাবেসের প্রতিলিপি ব্যবস্থাপনা এবং ডেটা পড়ার পছন্দ সম্পর্কে কার্যকর সিদ্ধান্ত নেওয়ার জন্য। নিচে এই দুটি বৈশিষ্ট্য বিস্তারিতভাবে আলোচনা করা হলো।
MongoDB Replica Set হলো একাধিক MongoDB সার্ভারের একটি গ্রুপ, যেখানে একটিকে primary সার্ভার হিসেবে নির্বাচন করা হয় এবং বাকি সার্ভারগুলি secondary সার্ভার হিসেবে কাজ করে। Replica Set Failover হলো একটি পরিস্থিতি যেখানে MongoDB সার্ভারের প্রাইমারি (primary) সার্ভার অকার্যকর হয়ে গেলে, অন্য একটি সেকেন্ডারি সার্ভারকে প্রাইমারি হিসেবে নির্বাচন করা হয়, যাতে সিস্টেমের চলমানতা অব্যাহত থাকে।
MongoDB Replica Set এর মধ্যে একাধিক সার্ভার থাকে এবং ফেইলওভার প্রক্রিয়াটি MongoDB এর মধ্যে election প্রক্রিয়া চালায়, যার মাধ্যমে নতুন primary নির্বাচন করা হয়।
MongoDB তে Read Preference ব্যবহারকারীদের নির্দিষ্ট করে দেয় কোন সার্ভার থেকে ডেটা পড়া হবে, বিশেষ করে যখন MongoDB Replica Set ব্যবহৃত হয়। MongoDB এর মধ্যে Primary এবং Secondary সার্ভার থাকে এবং আপনি Read Preference সেট করে নির্ধারণ করতে পারেন যে, কোন সার্ভার থেকে ডেটা পড়া হবে।
Primary: এই মোডে ডেটা শুধুমাত্র primary সার্ভার থেকে পড়া হয়। যদি primary সার্ভার অকার্যকর হয়ে যায়, তবে অ্যাপ্লিকেশনটি failover পর্যন্ত অপেক্ষা করবে।
db.collection.find().readPref('primary')
Primary Preferred: এই মোডে, MongoDB প্রথমে primary সার্ভার থেকে ডেটা পড়বে, কিন্তু যদি primary অকার্যকর হয়ে যায়, তবে এটি secondary সার্ভার থেকে ডেটা পড়তে পারে।
db.collection.find().readPref('primaryPreferred')
Secondary: এই মোডে, MongoDB ডেটা শুধুমাত্র secondary সার্ভার থেকে পড়বে। সাধারণত এই অপশনটি ব্যবহার করা হয় তখন, যখন primary সার্ভার থেকে খুব বেশি লোড নেওয়া উচিত নয়।
db.collection.find().readPref('secondary')
Secondary Preferred: এই মোডে, MongoDB প্রথমে secondary সার্ভার থেকে ডেটা পড়বে, কিন্তু যদি কোনো secondary সার্ভার না থাকে, তবে এটি primary সার্ভার থেকে ডেটা পড়বে।
db.collection.find().readPref('secondaryPreferred')
Nearest: এই মোডে, MongoDB ডেটা সেই সার্ভার থেকে পড়বে যেটি primary বা secondary হতে পারে এবং যা ক্লায়েন্টের নিকটতম অবস্থানে রয়েছে (নেটওয়ার্ক দূরত্বের ভিত্তিতে)।
db.collection.find().readPref('nearest')
MongoDB তে Replica Set Failover ডেটাবেসের হাই অ্যাভেইলেবিলিটি নিশ্চিত করে, কারণ যখন primary সার্ভার অকার্যকর হয়ে যায়, তখন একটি secondary সার্ভার নতুন primary হিসেবে নির্বাচিত হয়। এর মাধ্যমে ডাউনটাইম কমে যায়। Read Preference ব্যবহার করে আপনি নির্ধারণ করতে পারেন কোন সার্ভার থেকে ডেটা পড়তে হবে, যা পারফরম্যান্স অপটিমাইজেশন এবং লেটেন্সি কমানোর জন্য গুরুত্বপূর্ণ। MongoDB তে এই দুটি বৈশিষ্ট্য ডেটাবেসের পারফরম্যান্স, স্কেলেবিলিটি এবং স্থিতিশীলতা উন্নত করতে সাহায্য করে।
Read more